package niuke;

/**
 * description:
 * author:zt
 * date:2021-09-20
 */

/**
 * 对于一个长度为  字符串，我们需要在线性(也就是)的时间里对它做一些变形。
 *
 * 首先这个字符串中包含着一些空格，就像"Hello World"一样，然后我们要做的是把着个字符串中由空格隔开的单词反序，同时反转每个字符的大小写。
 *
 * 比如"Hello World"变形后就变成了"wORLD hELLO"。
 */
public class NC89 {
    public String trans(String s, int n) {
        // write code here

        String[] c = s.split(" ");
        int L=0, R=c.length-1;
        while (L<R){
            String tmp = c[L];
            c[L] = c[R];
            c[R] = tmp;
            L++; R--;
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < c.length; i++) {
            sb.append(reverse(c[i])+ " ");
            if (i==c.length-1) sb.deleteCharAt(sb.length()-1);
        }
        return sb.toString();
    }
    public String reverse(String s){
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char temp = s.charAt(i);
            if (temp >= 'a' && temp <= 'z') {
                temp = (char)(temp-32);
            }else if(temp >= 'A' && temp <= 'Z') {
                temp = (char)(temp+32);
            }
            sb.append(temp);
        }
        return sb.toString();
    }
}
